package com.school.sports.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 项目数据传输对象
 * 包含创建者和统计信息，用于项目管理和分页查询
 */
@Data
public class ProjectDTO {

    /**
     * 项目ID
     */
    private Long id;

    /**
     * 项目名称
     */
    private String name;

    /**
     * 项目类型
     */
    private String type;

    /**
     * 性别限制
     */
    private String genderLimit;

    /**
     * 最大参与人数
     */
    private Integer maxPlayers;

    /**
     * 轮次数量
     */
    private Integer rounds;

    /**
     * 规则描述
     */
    private String ruleDescription;

    /**
     * 项目状态
     */
    private String status;

    /**
     * 创建人ID
     */
    private Long createdBy;

    /**
     * 创建人姓名
     */
    private String creatorName;

    /**
     * 当前报名人数
     */
    private Integer currentEnrollments;

    /**
     * 剩余可报名人数
     */
    private Integer remainingSlots;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * 项目是否可以报名
     */
    private Boolean canEnroll;
}